314 research outputs found

    Towards a Tool-based Development Methodology for Pervasive Computing Applications

    Get PDF
    Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with heterogeneous devices, overcoming the intricacies of distributed systems technologies, working out an architecture for the application, encoding it in a program, writing specific code to test the application, and finally deploying it. This paper presents a design language and a tool suite covering the development life-cycle of a pervasive computing application. The design language allows to define a taxonomy of area-specific building-blocks, abstracting over their heterogeneity. This language also includes a layer to define the architecture of an application, following an architectural pattern commonly used in the pervasive computing domain. Our underlying methodology assigns roles to the stakeholders, providing separation of concerns. Our tool suite includes a compiler that takes design artifacts written in our language as input and generates a programming framework that supports the subsequent development stages, namely implementation, testing, and deployment. Our methodology has been applied on a wide spectrum of areas. Based on these experiments, we assess our approach through three criteria: expressiveness, usability, and productivity

    Generative Programming from a Domain-Specific Language Viewpoint

    Get PDF
    International audienceGenerative Programming from a Domain-Specific Language Viewpoin

    DiaSuite:A Paradigm-Oriented Software Development Approach (invited paper)

    Get PDF
    International audienceWe present a software development approach, whose underlying paradigm goes beyond programming. This approach offers a language-based design framework, high-level programming support, a range of verifications, and an abstraction layer over lowlevel technologies. Our approach is instantiated with the Sense- Compute-Control paradigm, and uniformly integrated into a suite of declarative languages and tools

    Internet of Things: A Challenge for Software Engineering

    Get PDF
    International audienceThe Internet of Things (IoT) has become a reality with the emergence of Smart Cities, populated with large amounts of smart objects which are used to deliver a range of citizen services (e.g., security, well being, etc.) The IoT paradigm relies on the pervasive presence of smart objects or "things", which raises a number of new challenges in the software engineering domain

    A DSL Paradigm for Domains of Services: A Study of Communication Services

    Get PDF
    The domain of services for mobile communication terminals has long become a fast-moving target. Indeed, this domain has been affected by a continuous stream of technological advances on aspects ranging from physical infrastructures to mobile terminals. As a result, services for this domain are known to be very unpredictable and volatile. This situation is even worse when considering services relying heavily on multimedia activities (e.g., games, audio and/or video messages, etc.). Such an application area is very sensitive to a large variety of aspects such as terminal capabilities (graphics, CPU, etc.), bandwidth, service provider's billing policies, QoS, and user expectations. To address these issues, we present a paradigm based on domain-specific languages (DSLs) that enables networking and telecommunication experts to quickly develop robust communication services. Importantly, we propose implementation strategies to enable this paradigm to be supported by existing software infrastructures. Our DSL paradigm is uniformly used to develop a platform for communication services, named Nova. This platform addresses various domains of services including telephony services, e-mail processing, remote- document processing, stream processing, and HTTP resource adaption

    Internet of Things: From Small-to Large-Scale Orchestration

    Get PDF
    International audienceThe domain of Internet of Things (IoT) is rapidly expanding beyond research, and becoming a major industrial market with such stakeholders as major manufacturers of chips and connected entities (i.e., things), and fast-growing operators of wide-area networks. Importantly, this emerging domain is driven by applications that leverage an IoT infrastructure to provide users with innovative, high-value services. IoT infrastructures range from small scale (e.g., homes and personal health) to large scale (e.g., cities and transportation systems). In this paper, we argue that there is a continuum between orchestrating connected entities in the small and in the large. We propose a unified approach to application development, which covers this spectrum. To do so, we examine the requirements for orchestrating connected entities and address them with domain-specific design concepts. We then show how to map these design concepts into dedicated programming patterns and runtime mechanisms. Our work revolves around domain-specific concepts and notations, integrated into a tool-based design methodology and dedicated to develop IoT applications. We have applied our work across a spectrum of infrastructure sizes, ranging from an automated pilot in avionics, to an assisted living platform for the home of seniors, to a parking management system in a smart city

    Open Platforms: New Challenges for Software Engineering

    Get PDF
    International audienceRecently, platforms running third-party applications have become very popular, in particular due to the explosion of the smartphone market. These open platforms propose a rich stream of applications, targeting general-purpose as well as customized user needs. Developing applications for such target platforms introduces new requirements and raises new challenges. This paper identifies key requirements for designing open platforms. After an overview of the existing approaches, we identify the challenges for the next generation of open platforms

    Aging with the Internet of Things

    Get PDF
    International audienceWith capabilities for sensing, analysis, and actuation, the IoT has immense potential to help aging adults maintain health and independence. The Internet of Things (IoT) offers a host of new functionalities for sensing both environments (e.g., through motion-activity sensors) and individuals (e.g., through wearable smart watches) and for analyzing sensed data to make them actionable to users via notifications (e.g., through a smart speaker) and to applications via actuators (e.g., through a light switch). Wireless capability facilitates the deployment and use of such devices in every aspect of life and across age groups. This article explores the potential of the IoT to compensate for age-related changes by helping older individuals achieve and maintain health and independence. We briefly explain the Internet of Things and its relevance to aging, and then illustrate its applicability with a fictional 80-year-old. Although much of the technology exists to support the fictional scenario, there are challenges to the widespread attainment of the IoT's potential. We review these and then focus on the particular challenge of technology acceptance among the elderly, considering particular aspect

    Taxonomy-Driven Prototyping of Home Automation Applications : a Novice-Programmer Visual Language and its Evaluation

    Get PDF
    International audienceHome automation environments are dedicated to helping users in their everyday life and are being deployed in an increasing number of areas, including home security, energy consumption, and assisted living. The range of situations to be addressed makes the development of home automation applications challenging: it requires to manage hetero- geneous entities with a wide variety of functionalities. Moreover, since this area covers a large spectrum of user needs, it is crucial to ease the development and the evolution of these applications. This paper presents Pantagruel, an expressive and accessible approach to integrating a taxonomical description of a home automation environment into a visual programming language. A taxonomy describes the relevant entities of a given home automation area and serves as a parameter to a sensor-controller-actuator development paradigm. The orchestration of area-specific entities is supported by high-level constructs, customized with respect to taxonomical information. We have implemented a visual environment that integrates a taxonomical approach in the development of orchestration rules. Furthermore, we have developed a compiler for Pantagruel and successfully used it to test applications in various areas related to orchestration development for the domain of home automation. Finally, we have successfully evaluated the usability of Pantagruel through a user study performed with eighteen novice programmers

    A programmable client-server model: Robust extensibility via DSLs

    Get PDF
    International audienceThe client-server model has been successfully used to support a wide variety of families of services in the context of distributed systems. However, its server-centric nature makes it insensitive to fast changing client characteristics like terminal capabilities, network features, user preferences and evolving needs. To overcome this key limitation, we present an approach to enabling a server to adapt to different clients by making it programmable. A service-description language is used to program server adaptations. This language is designed as a domain-specific language to offer expressiveness and conciseness without compromising safety and security. We show that our approach makes servers adaptable without requiring the deployment of new protocols or server implementations. We illustrate our approach with the Internet Message Access Protocol (IMAP). An IMAP server is made programmable and a language, named Pems, is introduced to program robust variations of e-mail services. Our approach is uniformly used to develop a platform for multimedia communication services. This platform is composed of programmable servers for telephony services, e-mail processing, remote-document processing and stream adapters
    • …
    corecore